package com.whalecloud.chart.service;

import com.alibaba.fastjson.JSONArray;
import com.whalecloud.chart.domain.DrawChartRequestDTO;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

import java.io.File;

/**
 * @Description
 * @Author MarkAsh
 * @Date 2025/2/22
 **/
public interface ChartService {

    /**
     * 创建数据集
     * @param sourceData 源数据
     * @return 数据集
     */
    DefaultCategoryDataset createDataset(JSONArray sourceData);

    /**
     * 绘制图表
     * @param dataset 数据集
     * @return 图表
     */
    JFreeChart createChart(DefaultCategoryDataset dataset);

    /**
     * 生成图表文件
     * @param drawChart 源数据
     * @return 图表文件
     * */
    File drawChartFile(DrawChartRequestDTO drawChart);

    /**
     * 获取示例数据
     * @return 示例数据
     */
    JSONArray getSampleData();
}
